# 导入模块
from myClass.customClass import Person


# 主函数入口
if __name__ == "__main__":
    # 如果当前运行的文件是主文件
    # 1. 创建对象
    # p1 = Person()
    # 1.1 为p1对象分配name属性
    # p1.name = "张三"
    # 2. 调用对象方法
    # p1.study()

    # 3. 属性的创建的方式一:
    # 3.1 上面创建属性的方式只能为某个对象单独的分配该属性
    # p2 = Person()
    # p2.study()
    # 3.2 全局的属性--类属性
    # p1.name = "张三"
    # p1.study()
    #
    # p2 = Person()
    # p2.name = "李四"
    # p2.study()
    #
    # print(p1.name)

    # Person.name = "张三"
    # p1 = Person()
    # p1.study()
    #
    # p2 = Person()
    # p2.study()

    # 3.3 创建属性的第三种方式:
    # p1 = Person(name="张三", age=18, height=110)
    # p2 = Person(name="李四", age=19, height=120)
    # 3.3.1 为某个对象单独的设置属性
    # p1.money = "1000"

    # 关于对象方法, 静态方法, 类方法总结
    # 原则上来讲 对象方法只能通过对象.的方式去调用, 静态方法和类方法只能通过类名.方式去调用
    # p1 = Person(name="张三", age=18, height=110)
    # 使用对象调用对象方法
    # p1.study()
    # 使用类名调用对象方法
    # Person.study(p1)

    # 使用类名调用类方法
    # Person.class_method()
    # 使用对象调用类方法
    # p1.class_method()

    # 使用类名调用静态方法
    # Person.static_method()
    # 使用对象调用静态方法
    # p1.static_method()

    # 关于属性的补充
    p1 = Person(name="张三", age=1000, height=110)
    # <myClass.customClass.Person object at 0x0000021A4D2E86D0>
    print(p1)
    # print(p1.introduce())
    # print(p1.money)
    # p1.money = 500
    # print(p1.money)
    # print(p1.age)

